package com.yoyo.yyadsdk.bean.dao;

import com.google.gson.annotations.SerializedName;
import com.yoyo.yyadsdk.bean.UserActive;
import com.yoyo.yyadsdk.config.PullFeature;
import com.yoyo.yyadsdk.util.StringConverter;
import com.yoyo.yyadsdk.util.StringToUserActive;

import org.greenrobot.greendao.annotation.Convert;
import org.greenrobot.greendao.annotation.Entity;

import java.util.List;

import org.greenrobot.greendao.annotation.Generated;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.Unique;


@Entity
public class RuleListEntity {

    @Id(autoincrement = true)
    private Long _id;
    @Unique
    @SerializedName("id")
    private long ruleId;
    // 黑名单1/白名单0
    private int type;
    //该用户在该规则的白名单中
    private boolean inWhiteRule;
    //该用户在该规则的黑名单中
    private boolean inBlackRule;
    // 包名
    @Convert(columnType = String.class, converter = StringConverter.class)
    private List<String> pkg;
    // 机型
    @Convert(columnType = String.class, converter = StringConverter.class)
    private List<String> model;
    // 渠道号
    @Convert(columnType = String.class, converter = StringConverter.class)
    private List<String> channel;
    // 国家
    @Convert(columnType = String.class, converter = StringConverter.class)
    private List<String> country;
    // 城市
    @Convert(columnType = String.class, converter = StringConverter.class)
    private List<String> city;
    // imei
    @Convert(columnType = String.class, converter = StringConverter.class)
    private List<String> imei;
    // 用户行为
    @Convert(columnType = String.class, converter = StringToUserActive.class)
    private List<UserActive> userActive;
    @Generated(hash = 176105849)
    public RuleListEntity(Long _id, long ruleId, int type, boolean inWhiteRule,
            boolean inBlackRule, List<String> pkg, List<String> model,
            List<String> channel, List<String> country, List<String> city,
            List<String> imei, List<UserActive> userActive) {
        this._id = _id;
        this.ruleId = ruleId;
        this.type = type;
        this.inWhiteRule = inWhiteRule;
        this.inBlackRule = inBlackRule;
        this.pkg = pkg;
        this.model = model;
        this.channel = channel;
        this.country = country;
        this.city = city;
        this.imei = imei;
        this.userActive = userActive;
    }
    @Generated(hash = 954830847)
    public RuleListEntity() {
    }
    public Long get_id() {
        return this._id;
    }
    public void set_id(Long _id) {
        this._id = _id;
    }
    public long getRuleId() {
        return this.ruleId;
    }
    public void setRuleId(long ruleId) {
        this.ruleId = ruleId;
    }
    public int getType() {
        return this.type;
    }
    public void setType(int type) {
        this.type = type;
    }
    public boolean getInWhiteRule() {
        return this.inWhiteRule;
    }
    public void setInWhiteRule(boolean inWhiteRule) {
        this.inWhiteRule = inWhiteRule;
    }
    public boolean getInBlackRule() {
        return this.inBlackRule;
    }
    public void setInBlackRule(boolean inBlackRule) {
        this.inBlackRule = inBlackRule;
    }
    public List<String> getPkg() {
        return this.pkg;
    }
    public void setPkg(List<String> pkg) {
        this.pkg = pkg;
    }
    public List<String> getModel() {
        return this.model;
    }
    public void setModel(List<String> model) {
        this.model = model;
    }
    public List<String> getChannel() {
        return this.channel;
    }
    public void setChannel(List<String> channel) {
        this.channel = channel;
    }
    public List<String> getCountry() {
        return this.country;
    }
    public void setCountry(List<String> country) {
        this.country = country;
    }
    public List<String> getCity() {
        return this.city;
    }
    public void setCity(List<String> city) {
        this.city = city;
    }
    public List<String> getImei() {
        return this.imei;
    }
    public void setImei(List<String> imei) {
        this.imei = imei;
    }
    public List<UserActive> getUserActive() {
        return this.userActive;
    }
    public void setUserActive(List<UserActive> userActive) {
        this.userActive = userActive;
    }

}
